//! \file Purse.h
//! \brief TODO: Document
// -----------------------------------------------------------------------------
//! This program is free software; you can redistribute it and/or
//! modify it under the terms of the GNU General Public License
//! as published by the Free Software Foundation; either version 2
//! of the License, or (at your option) any later version.
//!
//! This program is distributed in the hope that it will be useful,
//! but WITHOUT ANY WARRANTY; without even the implied warranty of
//! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//! GNU General Public License for more details.
//!
//! You should have received a copy of the GNU General Public License
//! along with this program; if not, write to the Free Software Foundation,
//! Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
// -----------------------------------------------------------------------------
#ifndef dPURSE_H_
#define dPURSE_H_

#include "DataTypes.h"

//#ifdef __cplusplus
//  extern "C" {
//#endif

namespace DnD
{

class Purse
{
  public:
    Purse();
    virtual ~Purse();

//    void deposit(std::tUINT16 Platinum, std::tUINT16 Gold, std::tUINT16 Silver, std::tUINT16 Copper);
//    bool withdraw(std::tUINT16 Platinum, std::tUINT16 Gold, std::tUINT16 Silver, std::tUINT16 Copper);


    std::eBool deposit(std::tUINT16 m_Copper,
                       std::tUINT16 m_Silver = 0,
                       std::tUINT16 m_Gold = 0,
                       std::tUINT16 m_Platinum = 0);

    std::eBool withdraw(std::tUINT16 m_Copper,
                        std::tUINT16 m_Silver = 0,
                        std::tUINT16 m_Gold = 0,
                        std::tUINT16 m_Platinum = 0);


  private:

    std::tUINT16 m_Copper;
    std::tUINT16 m_Silver;
    std::tUINT16 m_Gold;
    std::tUINT16 m_Platinum;

    void update();
};

}

//  #ifdef __cplusplus
//    }
//  #endif

#endif // dPURSE_H_
